/**
 * API配置文件
 * 用于配置API基础信息和请求参数
 */

// API基础配置
export const API_CONFIG = {
  // 基础URL（当前使用localStorage，后续可替换为真实API地址）
  BASE_URL: process.env.NODE_ENV === 'production' 
    ? 'https://api.example.com' 
    : 'http://localhost:3000/api',
  
  // 请求超时时间
  TIMEOUT: 10000,
  
  // 请求头配置
  HEADERS: {
    'Content-Type': 'application/json',
    'Accept': 'application/json'
  }
};

// 存储键名配置
export const STORAGE_KEYS = {
  TEMPLATES: 'vform-templates',
  PAGES: 'vform-generated-pages',
  CURRENT_USER: 'current-user',
  FORM_DESIGN: 'vform-design',
  PREVIEW_JSON: 'vform-preview-json'
};

// 分页配置
export const PAGINATION_CONFIG = {
  DEFAULT_PAGE_SIZE: 10,
  PAGE_SIZE_OPTIONS: [10, 20, 50, 100],
  MAX_PAGE_SIZE: 100
};

// 排序配置
export const SORT_CONFIG = {
  // 默认排序字段
  DEFAULT_SORT_FIELD: 'createTime',
  // 默认排序方向
  DEFAULT_SORT_ORDER: 'desc',
  // 支持的排序字段
  SUPPORTED_FIELDS: ['createTime', 'updateTime', 'name', 'creator']
};

// 错误码配置
export const ERROR_CODES = {
  SUCCESS: 200,
  BAD_REQUEST: 400,
  UNAUTHORIZED: 401,
  FORBIDDEN: 403,
  NOT_FOUND: 404,
  INTERNAL_ERROR: 500
};

// 错误信息配置
export const ERROR_MESSAGES = {
  [ERROR_CODES.BAD_REQUEST]: '请求参数错误',
  [ERROR_CODES.UNAUTHORIZED]: '未授权访问',
  [ERROR_CODES.FORBIDDEN]: '禁止访问',
  [ERROR_CODES.NOT_FOUND]: '资源不存在',
  [ERROR_CODES.INTERNAL_ERROR]: '服务器内部错误',
  NETWORK_ERROR: '网络连接失败',
  TIMEOUT_ERROR: '请求超时',
  UNKNOWN_ERROR: '未知错误'
};
